#ifndef _XML_SETTINGS_H_
#define _XML_SETTINGS_H_

#include <string>
#include <sstream>
#include <iostream>
#include <SDL.h>
#include "Logger.h"
#include "boost/property_tree/ptree.hpp"
#include "boost/property_tree/xml_parser.hpp"

using namespace boost::property_tree;

struct Resolution
{
	int w;
	int h;
};

class XMLSettings
{
	public:
		static XMLSettings& getInstance();
		void readXML();

		Resolution getResolution();
		int getBitDepth();
		
		Level findLoggerLevel( const std::string name );
		Level getTriggerLevel();

		std::string levelNamesXML[ 4 ];

		SDLKey* getDirButtons();

		char* getServerIP();

	private:
		XMLSettings();
		XMLSettings( XMLSettings const& );
		XMLSettings& operator=( XMLSettings const& );
		~XMLSettings();

		//Logger logger;

		ptree properties;

		Resolution resolution;
		int bitDepth;

		SDLKey dirButtons[4];

		char serverIP[32];
};

#endif 